home *** CD-ROM | disk | FTP | other *** search
/ Hyper Animation Series: Viper (Limited Edition) / Hyper Animation Series: VIPER (Limited Edition).iso / pc / SYSTEM / class / StgObjectIndex.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-04  |  2.6 KB  |  156 lines

  1. abstract class StgObjectIndex extends LinkListIndex {
  2.    public static final int ATTR_NO_HIT = 0;
  3.    public static final int ATTR_CHECK_HIT = 1;
  4.    public static final int ATTR_NO_CLIPING = 0;
  5.    public static final int ATTR_CHECK_CLIPING = 2;
  6.    protected int Attr;
  7.    protected SpriteAnimeIndex saiIndex;
  8.    protected SpriteIndex siIndex;
  9.    protected Position Pos;
  10.    protected Position Hit;
  11.  
  12.    public StgObjectIndex() {
  13.    }
  14.  
  15.    public StgObjectIndex(Position var1, SpriteAnimeData var2, Position var3, int var4) {
  16.       this.saiIndex = new SpriteAnimeIndex(var1, var2);
  17.       this.siIndex = this.saiIndex.getSpriteIndex();
  18.       this.Pos = var1;
  19.       this.Hit = var3;
  20.       this.Attr = this.Attr;
  21.    }
  22.  
  23.    public void setSpriteAnimeIndex(SpriteAnimeIndex var1) {
  24.       this.saiIndex = var1;
  25.    }
  26.  
  27.    public void setSpriteIndex(SpriteIndex var1) {
  28.       this.siIndex = var1;
  29.    }
  30.  
  31.    public void setAttr(int var1) {
  32.       this.Attr = var1;
  33.    }
  34.  
  35.    public SpriteAnimeIndex getSpriteAnimeIndex() {
  36.       return this.saiIndex;
  37.    }
  38.  
  39.    public Position getPosition() {
  40.       return this.Pos;
  41.    }
  42.  
  43.    public Position getHit() {
  44.       return this.Hit;
  45.    }
  46.  
  47.    public int getAttr() {
  48.       return this.Attr;
  49.    }
  50.  
  51.    public boolean checkHit(StgObjectIndex var1) {
  52.       if ((this.Attr | 1) != 0) {
  53.          if (this.HitProc(this, var1)) {
  54.             return true;
  55.          }
  56.  
  57.          if (this.HitProc(var1, this)) {
  58.             return true;
  59.          }
  60.       }
  61.  
  62.       return false;
  63.    }
  64.  
  65.    private boolean HitProc(StgObjectIndex var1, StgObjectIndex var2) {
  66.       Position var3 = var1.getPosition();
  67.       Position var5 = var1.getHit();
  68.       Position var4 = var2.getPosition();
  69.       Position var6 = var2.getHit();
  70.       if (this.Hitsub(var3.getX(), var5.getX(), var4.getX() + var6.getX())) {
  71.          if (this.Hitsub(var3.getY(), var5.getY(), var4.getY() + var6.getY())) {
  72.             return true;
  73.          }
  74.  
  75.          if (this.Hitsub(var3.getY(), var5.getY(), var4.getY() - var6.getY())) {
  76.             return true;
  77.          }
  78.       }
  79.  
  80.       if (this.Hitsub(var3.getX(), var5.getX(), var4.getX() - var6.getX())) {
  81.          if (this.Hitsub(var3.getY(), var5.getY(), var4.getY() + var6.getY())) {
  82.             return true;
  83.          }
  84.  
  85.          if (this.Hitsub(var3.getY(), var5.getY(), var4.getY() - var6.getY())) {
  86.             return true;
  87.          }
  88.       }
  89.  
  90.       return false;
  91.    }
  92.  
  93.    private boolean Hitsub(int var1, int var2, int var3) {
  94.       return var1 + var2 >= var3 && var1 - var2 <= var3;
  95.    }
  96.  
  97.    public boolean cliping() {
  98.       if ((this.Attr | 2) != 0) {
  99.          if (this.Pos.getX() > 25165824) {
  100.             return true;
  101.          }
  102.  
  103.          if (this.Pos.getX() < -4194304) {
  104.             return true;
  105.          }
  106.  
  107.          if (this.Pos.getY() > 17825792) {
  108.             return true;
  109.          }
  110.  
  111.          if (this.Pos.getY() < -4194304) {
  112.             return true;
  113.          }
  114.       }
  115.  
  116.       return false;
  117.    }
  118.  
  119.    public void setPosition(int var1, int var2, int var3) {
  120.       this.Pos.setX(var1);
  121.       this.Pos.setY(var2);
  122.       this.Pos.setZ(var3);
  123.    }
  124.  
  125.    public void movePosition(int var1, int var2, int var3) {
  126.       this.Pos.setX(this.Pos.getX() + var1);
  127.       this.Pos.setY(this.Pos.getY() + var2);
  128.       this.Pos.setZ(this.Pos.getZ() + var3);
  129.    }
  130.  
  131.    public boolean clipPosition() {
  132.       boolean var1 = false;
  133.       if (this.Pos.getX() < 524288) {
  134.          this.Pos.setX(524288);
  135.          var1 = true;
  136.       }
  137.  
  138.       if (this.Pos.getX() > 19922944) {
  139.          this.Pos.setX(19922944);
  140.          var1 = true;
  141.       }
  142.  
  143.       if (this.Pos.getY() < 524288) {
  144.          this.Pos.setY(524288);
  145.          var1 = true;
  146.       }
  147.  
  148.       if (this.Pos.getY() > 15204352) {
  149.          this.Pos.setY(15204352);
  150.          var1 = true;
  151.       }
  152.  
  153.       return var1;
  154.    }
  155. }
  156.